package com.xxdh.controller.task;


import com.xxdh.domain.dto.TaskDto;
import com.xxdh.domain.po.Task;
import com.xxdh.domain.po.User;
import com.xxdh.domain.vo.TaskVo;
import com.xxdh.service.ITaskService;
import com.xxdh.util.Result;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 任务详情表 前端控制器
 * </p>
 *
 * @author zwg
 * @since 2024-10-19
 */
@RestController
@RequestMapping("/task")
@RequiredArgsConstructor
@CrossOrigin(origins = "*")
public class TaskController {
    private final ITaskService taskService;

    /**
     * 添加任务
     * @param taskDto 任务信息
     * @return
     */
    @PostMapping("/add")
    public String addTask(@RequestBody TaskDto taskDto) {
        taskService.addTask(taskDto);
        return Result.ok("添加任务成功").toJSONString();
    }


    /**
     * 删除任务
     * @param id 任务id
     * @return
     */
    @PostMapping("/delete")
    public String deleteTask(@RequestParam String id) {
        taskService.deleteTask(id);
        return Result.ok("删除任务成功").toJSONString();
    }

    /**
     * 获取任务列表
     * @return
     */
    @GetMapping("/get-list")
    public String getTaskList() {
        Map<String, List<TaskVo>> tasks = taskService.getTaskList();
        return Result.ok(tasks).toJSONString();
    }

    /**
     * 修改任务优先级
     * @param id 任务id
     * @param priority 优先级
     * @return
     */
    @PostMapping("/update-priority")
    public String updatePriority(@RequestParam String id, @RequestParam Integer priority) {
        taskService.updatePriority(id, priority);
        return Result.ok("修改成功").toJSONString();
    }

}
